package com.cellulam.framework.scheduled;

import org.springframework.stereotype.Component;

import java.lang.annotation.*;

/**
 * task processor配置
 */
@Component
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
public @interface Processor {
    /**
     * 类型
     *
     * @return
     */
    int type() default 0;

    /**
     * 版本号
     *
     * @return
     */
    int version() default 1;

    /**
     * 任务类型，有taskType有taskType为准，忽略type和version，没有则必须要有type,version默认为1
     *
     * @return
     */
    TaskType taskType() default TaskType.NONE;

    /**
     * 处理命令
     *
     * @return
     */
    String command();
}
